1. Field of the Invention
The present invention relates to data processing systems and, more particularly, to a process for optimizing just-in-time compilation by a Java virtual machine.
2. Description of the Related Art
Just-In-Time (JIT) virtual machine (VM) compilers operate by converting interpreted opcodes (p-code) to native machine-level instructions at runtime. The most common examples of JIT compiles in the field today operate on Java byte-code. To date, JIT technologies have either operated indiscriminately on entire programs, converting byte-code to native instructions as they are interpreted, or have attempted to determine automatically at runtime which parts of a program to compile and which parts to leave as interpreted. This technology works well given enough memory and CPU resources. However, on consumer devices that may have limited memory and/or CPU resources, such technology may either be ineffective or may fail to run at all. Furthermore, depending on the capabilities of the consumer device, the compiled version of the byte-code may not execute any faster than the interpreted byte-code. In such cases, the compilation overhead might actually slow down execution of some functions.